A client is sending a message to the server, the server reverse the message content and send it back to the client
The client receive the message back from server the client can open and closes the connection - actively.
With the following requirements:
Allow multiple client connected (multi-threaded)
Use some C# features like inheritance, reflection
Use dependency injection and 1 C# design pattern
Allow multiple client connections.
Use sockets if possible - optional
Bonus – implement authentication.
Example scenario:
Client request to connect (with optional authentication)
Server open connection (if authenticated)
Client sends message to server
Server receive and send reply
Client send close connection request
connection closed